import Vue from 'vue'
import Vuex from 'vuex'
// 挂载Vuex
Vue.use(Vuex)
// 创建VueX对象
const store = new Vuex.Store({
    mutations:{
        edit(state,payload){
//异步调用edit方法，把值传进来，赋值给age属性
            Vue.set(state,"age",payload);
        }
    },
    actions:{
        aEdit(context,payload){
            setTimeout(()=>{
                context.commit('edit',payload);
            },2000)
        }
    },
    //actions改进写法：由于是异步操作，所以可以为异步操作封装为一个Promise对象
    actions: {
        aEdit(context, payload) {
            return new Promise((resolve, reject) => {
                setTimeout(() => {
                    context.commit('edit', payload);
                    resolve();
                }, 2000)
            })
        }
    }
})
export default store